package com.ruoyi.assets.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.assets.domain.StateVisit;
import com.ruoyi.assets.dto.StateVisitDTO;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 访问记录服务接口
 * 
 * @author ruoyi
 */
public interface IStateVisitService extends IService<StateVisit> {
    
    /**
     * 查询今日访问记录
     * 
     * @return 访问记录列表
     */
    List<StateVisit> selectTodayVisits();
    
    /**
     * 获取今日总访问量
     * 
     * @return 今日总访问量
     */
    Integer selectTodayTotalVisits();
    
    /**
     * 记录资产访问
     * 
     * @param assetId 资产ID
     * @return 结果
     */
    boolean recordVisit(Long assetId);
    
    /**
     * 获取按月访问量统计
     * 
     * @param months 过去几个月
     * @return 月度访问统计
     */
    List<Map<String, Object>> getMonthlyVisitTrends(int months);

    void handleFromConsumeMessage(StateVisitDTO dto);
}